import java.util.HashMap;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 17655
 * Date: 2024-11-19
 * Time: 22:19
 */
public class test2 {
    /*
    LeetCode 974 和可被K整除的子数组
    给定一个整数数组 nums 和一个整数 k ，返回其中元素之和可被 k 整除的非空 子数组 的数目。

    子数组 是数组中 连续 的部分。
     */

    public int subarraysDivByK(int[] nums, int k) {
        Map<Integer,Integer> hash = new HashMap<Integer,Integer>();
        hash.put(0%k,1);

        int sum = 0;
        int ret = 0;
        for(int x:nums){
            sum +=x;
            int r = (sum %k + k)%k;
            ret += hash.getOrDefault(r,0);
            hash.put(r,hash.getOrDefault(r,0)+1);
        }

        return ret;
    }
}
